1. Field of the Invention
The present invention relates in general to the field of remote access to an information handling system, and more particularly to a method and system for access to keyboard control in USB emulation mode.
2. Description of the Related Art
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems are used to provide a number of functions that have minimal direct interaction with users. For instance, server information handling systems process network information with little if any keyboard or mouse inputs from keyboard or mouse devices directly connected to the server information handling system. Often, administrators or other users who interact with the server information handling system do so remotely through information handling systems that communicate with the server over the network. For instance, the server includes a bus master adapter card that accepts calls from remote devices to keyboard or mouse ports, such as ports 60h and 64h, received through the network and forwards the port calls to the keyboard controller for handling as if the keyboard inputs were provided from a local input/output device. For instance, the Dell Remote Access Controller (DRAC) card and the Embedded Remote Access Option (ERA/O) emulate keystrokes by writing directly to ports 60h and 64h on the server. Typically, remote input/output devices communicate through software drivers running in conjunction with the operating system to provide flexible control by administrators of a server through information handling systems communicating with the server through the network.
One difficulty with access to an information handling system through remote input output devices is that operating system drivers to support remote access are not available during power-up and boot of an information handling system so that the basic input output system (BIOS) generally must coordinate keystroke inputs with what is generally known as legacy USB mode. With USB controllers that comply with the Open Host Controller Interface (OHCI), enablement of the legacy USB mode allows detection of accesses to ports 60h and 64h, stores data values for those accesses and generates a system management interrupt (SMI). The BIOS SMI handler gets data for port accesses from the OHCI USB controller to handle keystrokes. By comparison, with USB controllers that comply with the Universal Host Controller Interface (UHCI) standard, the controller does not keep data that was written to ports 60h and 64h so that data received from a remote device through a bus master adapter generally cannot be retrieved by the BIOS. Thus, an information handling system with a USB keyboard and a UHCI USB controller having legacy USB enabled generally cannot be remotely controlled through a remote access until the operating system is loaded and its USB driver takes control. With a UHCI compliant controller, a remote user cannot perform a number of boot functions, such as pressing F2 to enter setup, CTRL-M to enter PERC/4 configuration utility, F1 in response to a prompt displayed for a boot error or make boot selections from Windows boot manager screen.